#include "server_ZombieAzul.h"
#include "server_RandomGenerator.h"
#define PUNTOS 20
#define EXPLOSIONES 1

ZombieAzul::ZombieAzul() : Enemigo() {
    puntosOtorgados = PUNTOS;
    explosionesRestantes = EXPLOSIONES;
    codigo = string("5");
    RandomGenerator generador;
    this->movimientosParaCambiarDeDireccion = generador.generate(1, 5);
    direccion = "ninguna";
    direcciones = {"arriba", "abajo", "izquierda", "derecha"};
    codigos = {"5", "#", "!", "%"};
}

ZombieAzul::~ZombieAzul() {
}

void ZombieAzul::setDireccion() {
    RandomGenerator generador;
    int indice = 0;
    if (direccion == string("ninguna")) {
        indice = generador.generate(0, 3);
        direccion = direcciones[indice];
        codigo = codigos[indice];
        return;
    }
    if (movimientosParaCambiarDeDireccion > 0) {
        movimientosParaCambiarDeDireccion--;
        return;
    }

    indice = generador.generate(0, 3);
    direccion = direcciones[indice];
    codigo = codigos[indice];
    movimientosParaCambiarDeDireccion = generador.generate(1, 5);
}